// pages/login/login.js
const app = getApp()

Page({
  data: {
    username: '',
    password: '',
    loading: false,
    selectedMode: '' // 选择的登录模式：'admin' 或 'user'
  },

  onLoad() {
    // 检查是否已有登录状态
    if (app.checkAdminLogin()) {
      // 已登录管理员，跳转到管理首页
      wx.navigateTo({
        url: '/pages/index/index'
      })
    } else if (app.checkUserLogin()) {
      // 已登录用户，跳转到用户首页
      wx.reLaunch({
        url: '/pages/user-index/user-index'
      })
    }
  },

  // 选择管理员模式
  selectAdminMode() {
    this.setData({ selectedMode: 'admin' })
  },

  // 选择用户模式
  selectUserMode() {
    this.setData({ selectedMode: 'user' })
    // 直接进入用户端，自动登录
    this.enterUserMode()
  },

  // 返回选择
  backToModeSelect() {
    this.setData({ selectedMode: '' })
  },

  // 进入用户模式
  enterUserMode() {
    // 检查是否已有用户登录状态
    if (app.checkUserLogin()) {
      wx.reLaunch({
        url: '/pages/user-index/user-index'
      })
    } else {
      // 自动登录
      app.autoLogin().then(() => {
        wx.reLaunch({
          url: '/pages/user-index/user-index'
        })
      }).catch((err) => {
        console.error('自动登录失败:', err)
        wx.showToast({
          title: '登录失败，请重试',
          icon: 'none'
        })
      })
    }
  },

  // 管理员登录
  adminLogin() {
    if (!this.data.username || !this.data.password) {
      wx.showToast({
        title: '请输入用户名和密码',
        icon: 'none'
      })
      return
    }

    this.setData({ loading: true })

    app.adminLogin({
      username: this.data.username,
      password: this.data.password
    }).then((res) => {
      this.setData({ loading: false })
      if (res.code === 1) {
        wx.showToast({
          title: '登录成功',
          icon: 'success'
        })
        // 跳转到管理首页，使用navigateTo保持tabBar可见
        wx.navigateTo({
          url: '/pages/index/index'
        })
      } else {
        wx.showToast({
          title: res.msg || '登录失败',
          icon: 'none'
        })
      }
    }).catch((err) => {
      this.setData({ loading: false })
      console.error('管理员登录失败:', err)
      wx.showToast({
        title: '登录失败',
        icon: 'none'
      })
    })
  },

  // 输入用户名
  inputUsername(e) {
    this.setData({
      username: e.detail.value
    })
  },

  // 输入密码
  inputPassword(e) {
    this.setData({
      password: e.detail.value
    })
  }
}) 